ADO+navrat ID
Otázka od: Ales Pavel
7. 9. 2004 10:05
Ahoj v ADO nejsem zadnej mistr a tak potrebuji radu. Potrebuji vracet
pri insertu ID zaznamu (pripadne jine hodnoty naplnene pres triggery pri
insertu)jak to udelam,pripomenu ze pracuji na MSSQLServeru. Jakou
komponentu pouzit a jak co nastavit
Diky moc
_________________________________________
Ales Pavel
ICQ: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________
Odpovedá: jtomas@ebanka.cz
7. 9. 2004 10:53
Zkus to pres vlozenou proceduru a kod napsat v SQL.
"Ales Pavel"
<aldik@quick.cz> To: delphi-l@clexpert.cz
Sent by: cc:
delphi-l-owner@c Subject: ADO+navrat ID
lexpert.cz
07.09.2004 11:05
Please respond
to delphi-l
Ahoj v ADO nejsem zadnej mistr a tak potrebuji radu. Potrebuji vracet
pri insertu ID zaznamu (pripadne jine hodnoty naplnene pres triggery pri
insertu)jak to udelam,pripomenu ze pracuji na MSSQLServeru. Jakou
komponentu pouzit a jak co nastavit
Diky moc
_________________________________________
Ales Pavel
ICQ: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________
Odpovedá: Ales Pavel
7. 9. 2004 11:00
To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
A.
> Zkus to pres vlozenou proceduru a kod napsat v SQL.
>
>
Odpovedá: Petr Langer
7. 9. 2004 12:11
ahoj,
to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID
HTH,
pl
----- Original Message -----
From: "Ales Pavel" <aldik@quick.cz>
Subject: Re: ADO+navrat ID
> To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
> Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
> A.
>
>> Zkus to pres vlozenou proceduru a kod napsat v SQL.
Odpovedá: Bohdan Voska
7. 9. 2004 12:22
Mohlo by pomoct do afterpost dat toto,
AdoDataset.Recordset.resync(adAffectCurrent, adResyncAllValues);
Bohdan Voska
----- Original Message -----
From: "Ales Pavel" <aldik@quick.cz>
To: <delphi-l@clexpert.cz>
Sent: Tuesday, September 07, 2004 10:37 AM
Subject: Re: ADO+navrat ID
> To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
> Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
> A.
>
> > Zkus to pres vlozenou proceduru a kod napsat v SQL.
> >
> >
>
>
>
Odpovedá: Lstiburek Pavel
7. 9. 2004 12:26
Pokud je to v triggeru, tak tento skript selze a je nutno pouzit neco jako
SELECT @@IDENTITY as ID, coz vrati hodnotu vlozenou do posledniho identity
sloupce (libovolne tabulky).
Dale je dobre si zkontrolovat zda se vubec neco vlozilo, jinak je v obou
pripadech vracena hodnota z minuleho insertu.
Pokud je vkladas do ID hodnotu pomoci nejakeho generatoru, je jedna blba
moznost pomoci RAISERROR s nizkou severity, jinak celkem nic.
Pavel
From: Petr Langer [mailto:langer@xdom.cz]
to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID
Odpovedá: Petr Langer
7. 9. 2004 13:38
Jiste, ale naopak pokud se jeho INSERTem (pro ktery potrebuje ID) vyvola
trigger ktery treba insertuje do jine tabulky s identity sloupcem, tak mu
@@IDENTITY vrati nesmysl
Z puvodniho dotazu mi nejak tak vyplynulo, ze mu jde o hodnotu ID z INSERTu,
ktery chce vykonat dynamicky, takze SCOPE_IDENTITY() je podle mne spise to,
co hleda.
pl
----- Original Message -----
From: "Lstiburek Pavel" <lstiburek@ceb.cz>
Subject: Re: ADO+navrat ID
> Pokud je to v triggeru, tak tento skript selze a je nutno pouzit neco jako
> SELECT @@IDENTITY as ID, coz vrati hodnotu vlozenou do posledniho identity
> sloupce (libovolne tabulky).
> Dale je dobre si zkontrolovat zda se vubec neco vlozilo, jinak je v obou
> pripadech vracena hodnota z minuleho insertu.
> Pokud je vkladas do ID hodnotu pomoci nejakeho generatoru, je jedna blba
> moznost pomoci RAISERROR s nizkou severity, jinak celkem nic.
> Pavel
>
> From: Petr Langer [mailto:langer@xdom.cz]
> to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
> delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID